1. Field of the Invention
The present invention is related to an improved data processing system. A more particular aspect of the present invention is related to the application of decision support techniques such as online analytical processing (OLAP) to databases.
2. Description of the Related Art
Decision support is rapidly becoming a key technology for business success. Decision support allows a business to deduce useful information, usually referred to as a data warehouse, from an operational database. While the operational database maintains state information, the data warehouse typically maintains historical information. Users of data warehouses are generally more interested in identifying trends rather than looking at individual records in isolation. Decision support queries are thus more computationally intensive and make heavy use of aggregation. This can result in long completion delays and unacceptable productivity constraints.
Some known techniques used to reduce delays are to pre-compute frequently asked queries, or to use sampling techniques, or both. In particular, applying online analytical processing (OLAP) techniques such as data cubes on very large relational databases or data warehouses for decision support has received increasing attention recently (see e.g., Jim Gray, Adam Bosworth, Andrew Layman, and Hamid Pirahesh, “Data Cube: A Relational Aggregation Operator Generalizing Group-By, Cross-Tab, and Sub-Totals”, International Conference on Data Engineering, 1996, New Orleans, pp. 152-160) (“Gray”). Here, users typically view the historical data from data warehouses as multidimensional data cubes. Each cell (or lattice point) in the cube is a view consisting of an aggregation of interests, such as total sales.
Commonly encountered aggregation queries for data warehouse applications include those already defined in the standard Structured Query Language (SQL).
Relational DataBase Management System (RDBMS) software using a Structured Query Language (SQL) interface is well known in the art. The SQL interface has evolved into a standard language for RDBMS software and has been adopted as such by both the American National Standards Institute (ANSI) and the International Standards Organization (ISO).
RDBMS software has typically been used with databases comprised of traditional data types that are easily structured into tables. However, RDBMS products do have limitations with respect to providing users with specific views of data. Thus, “front-ends” have been developed for RDBMS products so that data retrieved from the RDBMS can be aggregated, summarized, consolidated, summed, viewed, and analyzed. However, even these “front-ends” do not easily provide the ability to consolidate, view, and analyze data in the manner of “multi-dimensional data analysis.” This type of functionality relies on OLAP.
OLAP generally comprises numerous, speculative “what-if” and/or “why” data model scenarios executed by a computer. Within these scenarios, the values of key variables or parameters are hanged, often repeatedly, to reflect potential variances in measured data. Additional data is then synthesized through animation of the data model. This often includes the consolidation of projected and actual data according to more than one consolidation path or dimension.
Data consolidation is the process of synthesizing data into essential knowledge. The highest level in a data consolidation path is referred to as that data's dimension. A given data dimension represents a specific perspective of the data included in its associated consolidation path. There are typically a number of different dimensions from which a given pool of data can be analyzed. This plural perspective, or Multi-Dimensional Conceptual View, appears to be the way most business persons naturally view their enterprise. Each of these perspectives is considered to be a complementary data dimension. Simultaneous analysis of multiple data dimensions is referred to as multi-dimensional data analysis.
OLAP functionality is characterized by dynamic multi-dimensional analysis of consolidated data supporting end-user analytical and navigational activities, including:                a) calculations and modeling applied across dimensions, through hierarchies and/or across members;        b) trend analysis over sequential time periods;        c) slicing subsets for on-screen viewing;        d) drill down to deeper levels of consolidation;        e) reach through to underlying detail data; and        f) rotation to new dimensional comparisons in the viewing area.        
OLAP is often implemented in a multi-user client/server mode and attempts to offer consistently rapid response to database access, regardless of database size and complexity.
Corresponding OLAP database systems are known. See, for example, U.S. Pat. Nos. 6,205,447, 6,122,636, 5,978,796, 5,978,788, and 5,940,818.
In essence, OLAP software enables users, such as analysts, managers and executives, to gain insight into performance of an enterprise through rapid access to a wide variety of data views that are organized to reflect the multidimensional nature of the enterprise performance data. An increasingly popular data model A for OLAP applications is the multidimensional database (MDDB), which is also known as the data cube. OLAP data cubes are predominantly used for interactive exploration-of performance data for finding regions of anomalies in the data, which are also referred to as exceptions or deviations. Problem areas and/or new opportunities are often identified when an anomaly is located.
To create an MDDB from a collection of data, a number of attributes associated with the data are selected. Some of the attributes are chosen to be metrics of interest and are each referred to as a “measure,” while the remaining attributes are referred to as “dimensions.” Dimensions usually have associated “hierarchies” that are arranged in aggregation levels providing different levels of granularity for viewing the data.
Exploration typically begins at the highest level of a dimensional hierarchy. The lower levels of hierarchies are then “drilled-down” to by looking at the aggregated values and visually identifying interesting values within the aggregated values. For example, drilling down along a product dimension from a product category to a product type may identify product types exhibiting an anomalous sales behavior. Continued drill-down from the product type may identify individual products causing the anomalous sales behavior. If exploration along a particular path does not yield interesting results, the path is “rolled-up” and another branch is examined. A roll-up may return to an intermediate level for drilling-down along another branch, or the top level of the hierarchy may be returned to and another drill-down may continue along another dimension.
Besides being cumbersome, this “hypothesis-driven” exploration for anomalies has several shortcomings. For example, the search space is usually large-a typical data cube has 5-8 dimensions with any particular dimension having hundreds of values, and each dimension having a hierarchy that is 3-8 levels high, as disclosed by George Colliat, OLAP, relational, and multidimensional database systems, Technical report, Arbor Software Corporation, Sunnyvale, Calif., 1995. Consequently, an anomaly can be hidden in any of several million values of detailed data that has been aggregated at various levels of detail. Additionally, higher level aggregations from where an analysis typically begins may not be affected by an anomaly occurring below the starting level because of cancellation effects caused by multiple exceptions or simply by the large amount of aggregated data. Even when data is viewed at the same level of detail as where an anomaly occurs, the exception might be hard to notice.
What is needed is a way for conveniently performing an exploration of a data cube that ensures that abnormal data patterns are not missed at any level of data aggregation, regardless of the number of dimensions and/or hierarchies of the data.
U.S. Pat. No., 6,094,651 shows a “discovery-driven” approach for data exploration of a data cube where a search for anomalies is guided to interesting areas of the data by pre-mined paths that are based on exceptions found at various levels of data aggregation. Consequently, it is ensured that abnormal data patterns are not missed at any level of data aggregation, regardless of the number of dimensions and/or hierarchies of the data by providing a paradigm of pre-excavated exceptions.
Further, this provides a method for navigating large multidimensional OLAP datasets for locating exceptions, and for guiding a user to interesting regions in a data cube using pre-mined exceptions that exhibit anomalous behavior. The number of drill-downs and selection steps is significantly reduced in comparison to other conventional approaches for manually finding exceptions, especially in large data cubes having many different dimensions and hierarchies.
Data anomalies in a k dimensional data cube are identified by the steps of associating a surprise value with each cell of a data cube, and indicating a data anomaly when the surprise value associated with a cell exceeds a predetermined exception threshold.
It is an object of the invention to provide an improved method for determining an exception in multidimensional data and to provide a corresponding computer system and computer program product.